/*! \file InVetBit.h
    \brief Interface Modulo Vetor de Bits.

        \\fazer comentarios
 */

#ifndef VetBit
#define VetBit

#ifdef VetBit_Serv
#define ExtVB
#else
#define ExtVB extern
#endif

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/*! \fn ExtVB int LiberaRegistro_VB(int PosicNoArqui, char* NomeArqui);
    \brief Liberar um registro no vetor de binarios dizendo que este esta 
    disponivel para ser utilizado por outro registro.
    \param PosicNoArqui  e o valor do registro a ser liberado.
    \param NomeArqui e o nome do aquivo gerenciado sem a extencao.
                ex.: ALBUM.txt arg = ALBUM
    \return Verdadeiro de o posicao foi libarada com sucesso, falso se
   ocorreu algum erro.
 */
ExtVB int LiberaRegistro_VB(int, char*);

/*! \fn ExtVB int PrencheRegistro_VB(char*)
    \brief Retornar um registro livre consultando o vetor de binarios dizendo que
este esta disponivel para ser utilizado por outro registro.
    \param arquivo e o nome do aquivo gerenciado sem a extencao.
                ex.: ALBUM.txt arg = ALBUM
        \return A primeira posicao disponivel no vetor.
 */
ExtVB int PreencheRegistro_VB(char*);

/*! \fn ExtVB int ReatulizacaoVetBits_VB(char* NomeArqui, char* ExtenGerad, int TamanRegis, char CaracContr);
    \brief Retornar um registro livre consultando o vetor de binarios dizendo que
este esta disponivel para ser utilizado por outro registro.
    \param NomeArqui : Arquivo e o nome do aquivo gerenciado sem a extencao.
                ex.: ALBUM.txt arg = ALBUM
        \param ExtenGerad : A extencao do arquivo que vai gerar o vetor de Bits.
        \param TamanRegis : O tamanho do registro do arquivo que vai gerar o vetor de Bits.
        \param CaracContr : O caracter de controle que diz se existe ou nao um registro em determinda posicao.
        \return Verdadeiro de o vetor foi atualizado com secesso, falso se ocorreu algum erro.
 */
ExtVB int ReatualizacaoVetBits_VB(char*, char*, int, char);
#endif
